import request from '@/utils/request'

/**
 * 上传文件
 * @param {File} file 文件
 * @param {string} category 文件分类 (avatar, image, product等)
 * @returns {Promise}
 */
export function uploadFile(file, category = 'image') {
  const formData = new FormData()
  formData.append('file', file)
  formData.append('category', category)

  return request({
    url: '/upload',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

/**
 * 上传图片 (向后兼容)
 * @param {File} file 图片文件
 * @returns {Promise}
 */
export function uploadImage(file) {
  return uploadFile(file, 'image')
}

/**
 * 上传头像 (向后兼容)
 * @param {File} file 头像文件
 * @returns {Promise}
 */
export function uploadAvatar(file) {
  return uploadFile(file, 'avatar')
}

/**
 * 删除文件
 * @param {string} path 文件路径
 * @returns {Promise}
 */
export function deleteFile(path) {
  return request({
    url: '/upload/delete',
    method: 'post',
    data: { path }
  })
}
